Save and increment (enregistrement et incrémentation)Ce script enregistre automatiquement une nouvelle copie du projet After Effects ouvert et incrémente un numéro à trois chiffres contenu dans son nom afin de le distinguer de ses versions précédentes. Ce script est enregistré sous le nom save_and_increment.jsx sur le CD-ROM d'installation. La première étape consiste à déterminer si le projet ouvert a déjà été sauvegardé. Cette vérification s'effectue au moyen d'une instruction d'ouverture if/else. La première condition, "!app.project.file" indique que si le projet n'a pas été sauvegardé, un message d'alerte demandant à l'utilisateur de sauvegarder le projet s'affiche et le script s'arrête. if (!app.project.file) { alert ("Ce projet doit être sauvegardé avant d'exécuter ce script."); Ensuite, si le projet a déjà été sauvegardé au moins une fois, des variables sont définies pour pointer sur le nom du fichier et sur le numéro, et l'extension de fichier à y ajouter. Le code JavaScript lastIndexOf() recherche une chaîne vers l'arrière (de la fin vers le début) et, dans ce cas, recherche le point séparant le nom de l'extension. } else { var currFile = app.project.file; var currFileName = currFile.name; var extPos = currFileName.lastIndexOf("."); var ext = ""; La variable currFileName est ensuite définie avec le nom en cours, avant le point. if (extPos != -1) { ext = currFileName.substring(extPos, currFileName.length); currFileName = currFileName.substring(0, extPos); } Le script définit alors une variable qui incrémentera les versions en commençant à 0, puis vérifie s'il existe un caractère de soulignement à une distance de quatre caractères de la fin du currFileName. Si c'est le cas, le script estime que l'incrémenteur a déjà été exécuté, étant donné qu'il a pour action d'attribuer un suffixe de 3 chiffres après un caractère de soulignement incrémenté d'un point de plus par rapport au dernier suffixe. Dans ce cas, l'incrémenteur est défini à la chaîne numérique courante et le nom est extrait sans cette extension numérique. var incrementer = 0; if (currFileName.charAt(currFileName.length -4) == "_") { incrementer = currFileName.substring(currFileName.length - 3, currFileName.length); currFileName = currFileName.substring(0, currFileName.length -4); } Le script ajoute alors une boucle d'incrémentation et vérifie si le numéro est passé à deux ou trois chiffres (par exemple, si le numéro a atteint _010 ou au-delà, ou _100, ou au-delà), et attribue un zéro pour chacun dans le cas contraire. incrementer++; var istring = incrementer + ""; if (incrementer < 10) { istring = "0" + istring; } if (incrementer < 100) { istring = "0" + istring; } Enfin, le script crée un nouveau fichier utilisant le nom et l'extension mis à jour, affiche un message d'alerte informant l'utilisateur du nouveau nom de fichier sauvegardé et enregistre le projet sous le nouveau nom de fichier. var newFile = File(currFile.path + "/" + currFileName + "_" + istring + ext); alert(newFile.fsName); app.project.save(newFile); } |